package co.edu.usbcali.lidis.vista;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.wb.swt.SWTResourceManager;

import co.edu.usbcali.lidis.modelo.Usuario;

public class PantallaInicio extends JFrame {

	private Text txtUsuario;
	private Text txtContrasena;
	int idUsuario;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					PantallaInicio frame = new PantallaInicio();
					frame.setVisible(true);
				} catch (Exception e) {
				}
			}
		});
	}

	/**
	 * Open the window.
	 */
	public PantallaInicio() {
		Display display = Display.getDefault();
		final Shell shlFormularioPropuestaDe = new Shell();
		shlFormularioPropuestaDe.setSize(509, 302);
		shlFormularioPropuestaDe.setText("Inicio de Sesión");

		Button btnIngresar = new Button(shlFormularioPropuestaDe, SWT.NONE);
		btnIngresar.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent arg0) {
				try {
					if (txtUsuario.getText().trim().equals("") == true) {
						throw new Exception("Por favor ingrese un usuario");
					}
					if (txtContrasena.getText().trim().equals("") == true) {
						throw new Exception("Por favor ingrese una contraseña");
					}

					Usuario usu = new Usuario();
					usu.setUsuUsuario(txtUsuario.getText());
					usu.setUsuPassword(txtContrasena.getText());

					int idUsuario = BusinessDelegate.getInstance()
							.inicioSesion(usu);

					// System.out.println(usu.getUsuId());
					if (idUsuario != 0) {
						PantallaPropuesta pantallaPropuesta = new PantallaPropuesta(
								idUsuario, null);
						// pantallaPropuesta.setVisible(true);
						shlFormularioPropuestaDe.close();
					} else {
						System.out.println("Datos invalidos");
						JOptionPane.showMessageDialog(null, "Datos inválidos.",
								"Error", JOptionPane.ERROR_MESSAGE);
					}

				} catch (Exception e) {
					JOptionPane.showMessageDialog(null, e.getMessage(),
							"Error", JOptionPane.ERROR_MESSAGE);
				}
			}
		});

		btnIngresar.setBounds(140, 171, 75, 25);
		btnIngresar.setText("Ingresar");

		Label lblUsuario = new Label(shlFormularioPropuestaDe, SWT.NONE);
		lblUsuario.setBounds(59, 81, 62, 15);
		lblUsuario.setText("Usuario:");

		Label lblContrasena = new Label(shlFormularioPropuestaDe, SWT.NONE);
		lblContrasena.setBounds(59, 120, 75, 15);
		lblContrasena.setText("Contraseña:");

		txtUsuario = new Text(shlFormularioPropuestaDe, SWT.BORDER);
		txtUsuario.setBounds(159, 78, 142, 21);

		txtContrasena = new Text(shlFormularioPropuestaDe, SWT.BORDER | SWT.PASSWORD);
		txtContrasena.setBounds(159, 117, 142, 21);

		Label lblNewLabel = new Label(shlFormularioPropuestaDe, SWT.NONE);
		lblNewLabel.setImage(SWTResourceManager
				.getImage("imagenes\\fondoInicio.png"));
		lblNewLabel.setBounds(0, 0, 493, 263);

		shlFormularioPropuestaDe.open();
		shlFormularioPropuestaDe.layout();
		while (!shlFormularioPropuestaDe.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}
}
